1. Technical Field
Embodiments of the present application generally relate to database management systems and, in particular, to a method and apparatus for exploiting master-detail relationships of structured data to enhance searching operations.
2. Description of the Related Art
In a typical computing system, an organization may employ a number of technologies to process, store, protect, recover, produce and secure mission critical data. The typical computing system may include one or more data storage systems for facilitating permanent storage, retrieval and transmission of mission critical data throughout a computer network. For example, the typical computing environment may include one or more database management systems for organizing and retrieving structured data records (e.g., tables) from one or more databases.
A type of normalized data model used by a database management system includes several master-detail relationships among a plurality of structured data tables. While a master-detail relationship is essential for accurately representing one-to-many database relationships, such data models pose unique problems when performing searching operations (e.g., a series of database read operations). The search operation normally starts from a detail table and then, performs a join process to link and/or combine with a master table. If the data contained in the master table and detail table is too large, the join process causes performance issues. Furthermore, the complexity increases and performance suffers if more than one detail table is involved in a single searching operation.
Furthermore, when joining across multiple detail tables, current database management software applications are prone to forming an incorrect join order or using an incorrect joining function, such as using a hash join when a nested loop join is required. Such errors result in erroneous search results and/or inefficient search processes.
Therefore, there is a need in the art for a method and apparatus for exploiting a master-detail relationship of structured data to enhance searching operations.